This invention relates in general to user interfaces for accessing computer applications and information resources and, in particular, to user interfaces that provide advertising obtained over a global computer network such as the Internet.
The continuing expansion of the Internet and other private and semi-private networks has led to the now widespread practice of electronic distribution of software to end users, whether as freeware, shareware, or fully paid-up licensed software. Traditionally, freeware programs have generally been small, unsupported single-purpose programs that are of limited use. Since no income was derived from these programs, there was little incentive for the creators of this type of software to undertake major development efforts. More recently, however, a new type of free software has emerged which, while free to end users, does provide income to the creator of the software via advertising incorporated into the software. This is of benefit both to the end user and advertiser, as the end user obtains useful software at no cost and the advertiser gets advertising exposure for its products or services. One well known example of this type of arrangement is in push technology products, such as Pointcast(trademark), which permits a user to receive and display broadcasted information over the Internet. Using this software, new advertising is periodically received along with various requested types of news information (e.g., financial, business, sports) and is stored locally on the user""s computer for later retrieval and display by the program.
The new advertising medium provided by the Internet has a number of significant advantages for advertisers. First, the users of the software within which the advertising is placed have, on average, much more disposable income to spend on products and services than the average user of other traditional advertising media, such as television or print. Second, the advertising can, in some instances, be targeted in various ways, such as demographically or reactively. An example of the latter of these is in push technology where the user requests certain types of information and this request is used to select the type of advertisement sent to the user along with the requested content. Third, the advertising can not only include audio and video elements as well as simple visual elements, but can also be interactive. For example, by clicking on the advertisement, the user can be provided with additional information about the advertised products or services and can even be given the opportunity to purchase the products or services electronically.
One of the most common methods of advertising via the Internet is through the use of links (e.g., URLs) embedded within web pages. By using embedded links, the advertisements need not be located on the same server as the web pages themselves. When the web page is loaded or reloaded, the advertising server is accessed to obtain a new advertisement which is incorporated into the web page displayed on the user""s screen. These advertisements are simple graphical images (such as animated gifs) that are retrieved from the advertising server along with an associated link to additional information about the advertised product or service. While this permits new advertising to be displayed each time a web page is loaded or refreshed, and while this allows geographically unlimited advertising, it at most permits targeting of the advertisement based upon the type of information contained in the web page. Moreover, access to a new advertisement is only available during the period of time that the client computer is connected to the Internet.
Currently-available computer programs that incorporate advertising into their user interface include the necessary programming built into the software itself. That is, the various parameters relating to the presentation of the advertisement is pre-determined and programmed into the software. These parameters may include such things as where on the screen the advertisement is displayed, the display size, the duration of display, the number of times a particular advertisement is displayed, the conditions under which a particular advertisement is to be displayed, the type of action taken upon a user clicking on the advertisement, and so forth. One problem with these currently available programs is that these parameters can only be changed by replacement of the entire program with an updated, revised version, making it difficult to respond to desired changes in advertising approaches.
To provide demographically-targeted advertising, the advertiser or distributor of the advertising must obtain demographic data on its end users. Perhaps the most common way to acquire demographic data regarding users via the Internet is to request the information using a form written in html (HyperText Markup Language) and provided to the user over the World-Wide Web (WWW) using http (HyperText Transfer Protocol). This is sometimes done as a prerequisite to allowing the user access to information resources or download software from a particular web site. While authentication of demographic information obtained this way is difficult and rarely done, it has been found that end users typically provide accurate demographic data in return for free download access to software. Furthermore, studies have shown that while people are concerned about privacy issues and, in particular, do not wish to provide specific information that identifies them (such as their name, address, or Social Security number), they generally do not mind providing demographic information, nor do they mind monitoring of their computer usage as long as their usage is not associated with any specific information that could be used to identify them.
Various other arrangements have been suggested for obtaining and reporting information about an end user over a computer network such as the Internet. For example, U.S. Pat. No. 5,724,521 to Dedrick discloses an electronic advertising system in which a user profile is created and transferred to a metering server where it is used along with other end user profiles to charge advertiser""s according to a consumer scale. The profile data is also used by the metering server to select advertisement titles that are sent to the end user for viewing at the request of the end user. When a user requests an advertisement, the metering server sends the advertisement to the end user, charges the advertiser, and provides the advertiser with profile data on that end user. The system can include client-side software which acquires and compiles information concerning the user""s interaction with the advertising or other content provided by the metering server.
U.S. Pat. No. 5,732,218 to Bland et al. discloses a system for gathering data concerning an end-user""s access to information resources and reporting the data back to the servers that contain the information resources. Data gathering at the client is accomplished using an applet, plug-in, or other browser extension that acquires the data and then reports that data to those servers accessed by the client, either periodically or in response to a specific request by the servers. In this way, the servers being accessed for their information resources get reported back to them information concerning the end-user""s use of that information. Limited demographic information (e.g., time zone, locale, client hardware) can be included in this reporting as well.
One of the disadvantages of prior art systems that acquire data regarding an end-user""s computer usage is that they are generally limited to gathering information concerning only certain limited uses of the computer. For example, in Bland et al., the focus of the gathering and use of end-user data is in the user""s interaction with web pages, whether over the Internet or otherwise. Similarly, in Dedrick, the compilation of data is directed to interaction between the end-user and the advertising or other content provided by the metering server itself. By limiting the reported data in this manner, it is difficult to develop accurate profiles for the individual users that are useful in targeting the advertising.
U.S. Pat. No. 5,347,632 to Filepp et al. discloses a reception system in which both user demographics and individual system usage information can be used to target advertising. However, this information is used to select which advertisements are to be placed into an advertisement queue from which advertisements are then accessed, apparently in the order in which they were placed in the queue. Thus, this system permits targeting of advertising generally, but does not provide real time targeting of advertising based upon user actions.
Except as may be explicitly indicated otherwise, the following definitions shall apply:
computerxe2x80x94An apparatus having a processing device that is capable of executing instructions.
computer usage informationxe2x80x94Data concerning a person""s use of a computer, including such things as what programs they run, what information resources they access, what time of day or days of the week they use the computer, and so forth.
data setxe2x80x94A group of data items; for example, links, keywords, or entries in an address book.
display objectxe2x80x94Data capable of display by a computer, including graphical images as well as multimedia presentations or other display data that includes audio in addition to visually-perceived data.
graphical imagexe2x80x94Visually-perceived data stored in a graphic format (e.g., jpeg, gif, bmp, tiff, pcx, etc.), including electronically-reproduced photographs, graphics, animations, icons, and textual messages.
information resourcexe2x80x94A source of information stored on a server or other computer that is accessible to other computers over a network.
keywordxe2x80x94A textual data item used in locating related sources of information
linkxe2x80x94A data item that identifies the location or address of a program or information resource. A URL is a link, as is a path and filename of an information resource.
non-volatile data storage devicexe2x80x94A memory device that retains computer-readable data or programming code in the absence of externally-supplied power, including such things as a hard disk or a floppy disk, a compact disk read-only memory (CDROM), digital versatile disk (DVD), magneto-optical disk, and so forth.
program componentxe2x80x94A set of instructions stored in a file in computer-readable format, whether as object code or source code, and whether written in a compiled language, in byte code (such as Java(trademark)), or in a scripting or other interpreted language.
program modulexe2x80x94One or more related program components.
programxe2x80x94One or more related program modules.
reactivelyxe2x80x94in response to some type of user input, such as a mouse click on a particular user application or on a link to an information resource
serverxe2x80x94A computer on a network that answers requests for information.
software applicationxe2x80x94A program and associated libraries and other files; for example, a word processing application, a spreadsheet application, or a personal information management application.
In accordance with one aspect of the present invention there is provided an apparatus for use by a computer to provide a user of the computer with access to information resources via the Internet or otherwise. The apparatus comprises a non-volatile data storage device with first and second program modules stored on the non-volatile storage device. The first program module is operable upon execution to display a graphical user interface comprising a window separated into a number of regions, with a first one of the regions including a number of user-selectable items, at least some of which are each associated with a different data set. The data sets are each representative of a different category of information (e.g., financial, news, sports, etc.) and each of the data sets comprise a number of user-selectable links to different information resources. For example, the data sets can be groups of related URLs, whereby the information resources comprise web pages accessible via the Internet. A second one of the regions comprises an information display region which can display such things as banner advertisements. The second program module is operable upon execution to select informational data to be displayed in the information display region. The first program module is operable in response to selection of a first one of the links to provide the user with access to its associated information resource and to notify the second program module of the selection of that first link. The second program module is operable in response to notifications from the first program module to select the informational data to be displayed from among a larger amount of informational data, and the second program module is further operable to store statistical data regarding the display of the selected informational data. This permits targeting of banner advertisements based upon the type of link (financial, news, sports, etc.) selected by the user.
In accordance with another aspect of the invention, there is provided a computer-readable memory for use by a computer to provide a user of the computer with an automatically-upgradeable software application. The computer readable memory comprises a non-volatile data storage device and a program that is separated into a plurality of program modules that are stored on the non-volatile data storage device. Some or all of the program modules have at least one version identifier associated with them. One of the program modules is operable upon execution to access the stored version identifier(s) and at least one updated version identifier from a server via a global public network such as the Internet. These updated version identifier(s) represent updated program modules accessible from a server via the public network. This program module is further operable to download one or more updated program modules when the stored version identifier and the updated version identifier are different, with the updated program module(s) replacing one or more of the program modules. In this way, software upgrades can be carried out automatically without any user action required. Also, upgrading can be accomplished without having to download and install the entire software package.
In accordance with another aspect of the invention, a method is provided for supplying demographically-targeted advertising to a computer user. The method includes the steps of:
providing a server that is accessible via a computer network such as the Internet,
permitting a computer user to access the server via the computer network,
acquiring demographic information about the user (which includes information specifically provided by the user in response to a request for the demographic information),
providing the user with download access to computer software that, when run on a computer, displays advertising content, records computer usage information concerning the user""s utilization of the computer, and periodically requests additional advertising content,
transferring a copy of the software to the computer in response to a download request by the user,
providing a unique identifier to the computer, with the identifier uniquely identifying information sent over the computer network from the computer to the server,
associating the unique identifier with demographic information in a database,
selecting advertising content for transfer to the computer in accordance with the demographic information associated with the unique identifier,
transferring the advertising content from the server to the computer for display by the program,
periodically acquiring the unique identifier and the computer usage information recorded by the software from the computer via the computer network, and
associating the computer usage information with the demographic information using the unique identifier.
In accordance with yet another aspect of the invention, there is provided a computer-readable memory for use by a computer to provide a user of the computer with targeted information. The memory comprises a non-volatile data storage device and a program stored thereon. The program is operable upon execution to display a window containing an information display region. The program is also operable to select and display informational data (such as a banner advertisement) in the information display region. The informational data comprises a plurality of display objects with at least some of the display objects each having a data set associated therewith. The data sets each include one or more of the following data items:
a category identifier that indicates a category of information to which the associated display object relates, wherein the program is operable in response to receiving user input relating to one of the categories of information to display in the information display region a display object having an associated category identifier that relates to that one category of information;
a software application identifier that identifies a software application that may be accessible to the user via the computer, wherein the program is operable in response to user selection of the software application to display in the information display region a display object associated with the selected software application.
These identifiers permit real time, reactively-targeted advertising since the program can respond to user interaction with the computer to determine whether the input relates to a particular category of information and, if so, can select advertising related to that category of information.